package com.sugar.real.estate.module.business.enums;

import com.sugar.real.estate.framework.common.exception.ErrorCode;

/**
 * @author Y.sugar
 * @since 2025/8/19 9:30
 */
public interface ErrorCodeConstants {

    // ========== 公共 1_008_888_000 ==========
    ErrorCode NO_PERMISSION = new ErrorCode(1_008_888_000, "您无权限操作");
    ErrorCode SERVER_BUSY = new ErrorCode(1_008_888_001, "服务器繁忙，请稍后重试");
    ErrorCode IMPORT_EXCEL_ERROR = new ErrorCode(1_008_888_002, "从第 {} 行开始往下数据导入失败");


    // ========== 微信小程序 1_008_888_010 ==========
    ErrorCode WE_CHAT_LOGIN_NOT_RESP = new ErrorCode(1_008_888_010, "请求微信认证无响应");
    ErrorCode WE_CHAT_GET_WECHAT_OPENID_ERROR = new ErrorCode(1_008_888_011, "微信认证失败，请稍后重试");
    ErrorCode WE_CHAT_MOBILE_GET_AUTH_IS_NULL = new ErrorCode(1_008_888_012, "手机号获取凭证为空");
    ErrorCode WE_CHAT_MOBILE_AUTH_ERROR = new ErrorCode(1_008_888_013, "手机号凭证换取失败");

    // ========== 用户信息 1_008_000_000 ==========
    ErrorCode BIZ_USER_NOT_EXISTS = new ErrorCode(1_008_000_000, "用户不存在");
    ErrorCode BIZ_USER_REGISTER_ERROR = new ErrorCode(1_008_000_001, "用户注册失败");
    ErrorCode USER_ACCOUNT_FORBIDDEN = new ErrorCode(1_008_003_002, "账号异常，请联系客服解决");

    // ==================== 资讯 1_008_001_000 ====================
    // ========== 资讯分类 1_008_001_000 ==========
    ErrorCode INFO_CLS_NOT_EXISTS = new ErrorCode(1_008_001_000, "资讯分类不存在");
    // ========== 资讯信息 1_008_001_020 ==========
    ErrorCode INFO_NOT_EXISTS = new ErrorCode(1_008_001_020, "资讯信息不存在");
    // ========== 资讯与房屋关联信息 1_008_001_050 ==========
    ErrorCode INFO_HOUSE_NOT_EXISTS = new ErrorCode(1_008_001_050, "资讯与房屋关联信息不存在");

    // ========== 现房 1_008_002_000 ==========
    ErrorCode READY_HOUSE_NOT_EXISTS = new ErrorCode(1_008_002_000, "现房不存在");

    // ========== 楼盘/公寓 1_008_003_000 ==========
    ErrorCode APARTMENT_NOT_EXISTS = new ErrorCode(1_008_003_000, "楼盘/公寓不存在");
    ErrorCode APARTMENT_HOUSE_TYPE_NOT_EXISTS = new ErrorCode(1_008_003_001, "楼盘/公寓户型不存在");
    ErrorCode APARTMENT_SALESPERSON_NOT_EXISTS = new ErrorCode(1_008_003_002, "楼盘/公寓销售人员不存在");
    ErrorCode APARTMENT_HOUSE_TYPE_NOT_EXISTS_IMPORT = new ErrorCode(1_008_003_003, "第【{}】行户型类型不存在，请先维护户型");

    // ========== 用户关注 1_008_004_000 ==========
    ErrorCode USER_FOLLOW_NOT_EXISTS = new ErrorCode(1_008_004_000, "用户关注不存在");

    // ========== 用户楼盘咨询 1_008_005_000 ==========
    ErrorCode USER_BUILDING_CONSULT_NOT_EXISTS = new ErrorCode(1_008_005_000, "用户楼盘咨询不存在");

    // ========== 建房 1_008_006_000 ==========
    ErrorCode BUILD_HOUSE_NOT_EXISTS = new ErrorCode(1_008_006_000, "建房不存在");
    ErrorCode DESIGN_PLAN_NOT_EXISTS = new ErrorCode(1_008_006_050, "设计方案不存在");

    // ========== 字典信息 1_008_007_000 ==========
    ErrorCode BIZ_DICT_DATA_NOT_EXISTS = new ErrorCode(1_008_007_000, "字典数据不存在");
    ErrorCode BIZ_DICT_DATA_IS_EXISTS = new ErrorCode(1_008_007_001, "字典数据已存在");

    // ========== 已开通城市 1_008_019_000 ==========
    ErrorCode OPENED_CITY_NOT_EXISTS = new ErrorCode(1_008_019_000, "已开通城市不存在");
    ErrorCode OPENED_CITY_EXITS_CHILDREN = new ErrorCode(1_008_019_001, "存在存在子已开通城市，无法删除");
    ErrorCode OPENED_CITY_PARENT_NOT_EXITS = new ErrorCode(1_008_019_002,"父级已开通城市不存在");
    ErrorCode OPENED_CITY_PARENT_ERROR = new ErrorCode(1_008_019_003, "不能设置自己为父已开通城市");
    ErrorCode OPENED_CITY_PARENT_IS_CHILD = new ErrorCode(1_008_019_004, "不能设置自己的子级为父级");
    ErrorCode OPENED_CITY_NAME_ZH_CN_DUPLICATE = new ErrorCode(1_008_019_005, "已经存在该城市名称的已开通城市");
    ErrorCode OPENED_CITY_NO_SELECT = new ErrorCode(1_008_019_006, "未选择市与区");

    // ========== 参数配置 1_008_020_000 ==========
    ErrorCode BIZ_CONFIG_NOT_EXISTS = new ErrorCode(1_008_020_000, "参数配置不存在");
}
